/*
 *  author: Eduardo Cavero Guzmán
 *  date: 03/04/2010
 */


var digitalizar_expedienteIdentificador = 0;
var digitalizar_vntEscaneo = null;
var digitalizar_guardarBD = false;

var btnGrabarExpediente=new Ext.Button(
{
    text: "Grabar",
    disabled: true,
    iconCls: "icon-save",
    handler: function(){
        grabarExpediente();
    }

});

var btnDigitalizarExpediente=new Ext.Button(
{
    disabled: true,
    text: "Digitalizar",
    iconCls: "icon-scan",
    handler: function(){
        cargarDigitalizacionExpediente();
    }

});
function digitalizarExpediente(){
    var frmDigitalizarExpediente=new Ext.Panel({
        autoLoad: "frmDigitalizarExpediente.jsp",
        bodyStyle: "background-color:#DFE8F6; border:0",
        bbar:
        [
            {
                text: "Nuevo",
                handler: function() {
                    $("frmDigitalizarExpediente").reset();
                }

            },
            "-",
            btnGrabarExpediente,
            "-",
            btnDigitalizarExpediente
        ]
    });
  var win = new Ext.Window({
        title:'Digitalizar Legajo',
        closeAction:'destroy',
        width:855,
        height:180,
        x:0,
        y:0,
        shim:false,
        maximizable:false,
        resizable: false,
        animCollapse:false,
        layout: 'fit',
        items:frmDigitalizarExpediente
    });
    win.show();
}

function grabarExpediente(){
    var form=$("frmDigitalizarExpediente");
    new Ajax.Request("expediente!agregar",
    {
        method: "post",
        parameters: form.serialize(),
        onSuccess: function(t){
            var data=t.responseText.evalJSON();
            if(data.success){
                digitalizar_expedienteIdentificador = data.nexpeIdentificador;
                new Ajax.Request("expediente!incrementarcodarchivo",{
                    method: "post",
                    parameters:{
                        cexpeCodigoArchivo: data.cexpeCodigoArchivo
                    },
                    onSuccess: function(t) {
                        var data = t.responseText.evalJSON();
                        if (!data.success) {
                            Ext.MessageBox.show(
                            {
                                title: "Error",
                                msg: data.mensaje,
                                buttons: Ext.MessageBox.OK,
                                icon: Ext.MessageBox.ERROR
                            });
                        }
                    }
                });
                Ext.MessageBox.show(
                {
                    title: "Éxito",
                    msg: data.mensaje,
                    buttons: Ext.MessageBox.OK,
                    icon: Ext.MessageBox.INFO
                });
                btnGrabarExpediente.setDisabled(true);
                btnDigitalizarExpediente.setDisabled(false);
            }else{
                Ext.MessageBox.show(
                {
                    title: "Error",
                    msg: data.mensaje,
                    buttons: Ext.MessageBox.OK,
                    icon: Ext.MessageBox.ERROR
                });
            }
        }
    });
}

function buscarPersonalPolicial(){    
    var registroActual=null;
    var frmBusquedaPersonal=new Ext.Panel({
       autoLoad: "frmBusquedaPersonal.html",
       bodyStyle: "background-color:#DFE8F6; border:0",
       bbar:
       [
            {
               text: "Buscar",
               handler: function(){
                   buscar();
               }
            },
            "-",
            {
                text: "Seleccionar",
                handler: function(){
                    seleccionar();
                }
            },
            "-",
            {
                text: "Limpiar",
                handler: function() {
                    $("frmBusquedaPersonal").reset();
                }
            }

       ]
    });

    var dsPersonal=new Ext.data.Store(
    {
        autoDestroy: true,
        url: "lista-personal-policial!buscar",
        reader: new Ext.data.JsonReader(
        {
            root: "persona",
            fields:
            [
            {
                name: "npepoIdentificador",
                type: "integer"
            },
            {
                name: "cpersApepaterno"
            },
            {
                name: "cpersApematerno"
            },
            {
                name: "cpersNombre"
            },
            {
                name: "strNombreCompleto"
            },
            {
                name: "ngradIdentificador",
                type: "integer"
            }
            ]
        })
    });
    var grdPersonal=new Ext.grid.GridPanel(
    {
        layout: "fit",
        store: dsPersonal,
        stripeRows: true,
        height: 200,
        columns:
        [
        {
            header: "Apellido Paterno",
            dataIndex: "cpersApepaterno",
            width: 200
        },
        {
            header: "Apellido Materno",
            dataIndex: "cpersApematerno",
            width: 200
        },
        {
            header: "Nombres",
            dataIndex: "cpersNombre",
            width: 200
        }
        ]

    });


    grdPersonal.on("rowclick",function(grid,rowIndex,e){
        registroActual=dsPersonal.getAt(rowIndex);
    });

    grdPersonal.on("rowdblclick", function(grid,rowIndex,e){
        seleccionar();
    });

    var seleccionar=function(){
        if(registroActual == null){
            Ext.MessageBox.show(
            {
                title: "Error",
                buttons: Ext.MessageBox.OK,
                icon: Ext.MessageBox.ERROR,
                msg: "Debe seleccionar una persona."
            });
            return;
        }
        var form=$("frmDigitalizarExpediente");
        form.npepoIdentificador.value=registroActual.get("npepoIdentificador");
        form.strNombreCompleto.value=registroActual.get("strNombreCompleto");
        var select = form.ngradIdentificador;
        for(var i = 0; i < select.options.length; i++) {
            if(select.options[i].value == registroActual.get("ngradIdentificador")) {
                select.selectedIndex = i;
                break;
            }
        }
        winBusquedaPersonal.destroy();
    }


    var winBusquedaPersonal=new Ext.Window(
    {
        title: "Búsqueda Personal Policial",
        width: 650,
        height: 300,
        closeAction: "destroy",
        modal:true,
        items:
        [
            frmBusquedaPersonal,
            grdPersonal
        ]
    });

    var buscar=function(){
        var form=$("frmBusquedaPersonal");
        dsPersonal.load({
            params: form.serialize()
        });
    }

    winBusquedaPersonal.show();
}

function buscarExpedientePorCodigoArchivo(){
    var form=$("frmDigitalizarExpediente");
    if(form.cexpeCodigoArchivo.value.length==0){
        Ext.MessageBox.show(
        {
            title: "Error",
            msg: "Debe ingresar el código del expediente.",
            buttons: Ext.MessageBox.OK,
            icon: Ext.MessageBox.ERROR
        });
        return;
    }

    new Ajax.Request("lista-correlativos",{
       method: "post",
       onSuccess: function(t) {
           var data = t.responseText.evalJSON();
           for (var i = 0; i <  data.length; i++) {

           }
       }
    });

    new Ajax.Request("expediente!buscar",
    {
        method: "post",
        parameters: {cexpeCodigoArchivo: form.cexpeCodigoArchivo.value},
        onSuccess: function(t){
            var data=t.responseText.evalJSON();
            if(!data.success){
                Ext.MessageBox.confirm("Confirmación", data.mensaje, function(button){
                    if(button=="yes"){
                        ingresarExpediente();
                    }
                });
            }else{
                form.strNombreCompleto.value=data.strNombreCompleto;
                digitalizar_expedienteIdentificador = data.nexpeIdentificador;
                for(var i=0;i<form.ngradIdentificador.options.length;i++){
                    if(form.ngradIdentificador.options[i].value==data.ngradIdentificador){
                        form.ngradIdentificador.selectedIndex=i;
                        break;
                    }
                }
                btnGrabarExpediente.setDisabled(true);
                btnDigitalizarExpediente.setDisabled(false);
            }
        }
    });

    var ingresarExpediente=function(){
        var form=$("frmDigitalizarExpediente");
        form.strNombreCompleto.disabled=false;
        form.strNombreCompleto.readOnly=true;
        form.cmdBuscarPersonal.disabled=false;
        btnGrabarExpediente.setDisabled(false);
        btnDigitalizarExpediente.setDisabled(true);
    }
}

function cargarDigitalizacionExpediente(){
    var vntEscaneo=new Ext.Window({
        autoScroll: true,
        closeAction: "destroy",
        autoLoad: { 
            url: "digitalizarApplet.jsp",
            params: {nexpedienteIdentificador: digitalizar_expedienteIdentificador}
        },
        width: 800,
        height: 300,
        modal: true,
        maximized: true
    });

    vntEscaneo.on("beforedestroy", function(panel){
        var mensaje="¿Desea guardar los cambios en este PC?";
        if (!digitalizar_guardarBD) {
            var confirmar = confirm(mensaje);
            if (!confirmar) {
                eliminarTemporal();
            }
        } else {
            eliminarTemporal();
        }
    });

    var eliminarTemporal = function() {
        var applet = $("appletDigitalizar");
        applet.eliminarTemporal();
    }

    digitalizar_vntEscaneo = vntEscaneo;
    vntEscaneo.show();    
}

function cerrarVentanaDigitalizar(parametro){
    if (parametro == "guardar") {
        digitalizar_guardarBD = true;
    }
    digitalizar_vntEscaneo.destroy();
}

function obtenerCorrelativo(tipoPersonal) {
    var form = $("frmDigitalizarExpediente");
    new Ajax.Request("correlativo",{
        method: "post",
        parameters: {
            ntippIdentificador: tipoPersonal
        },
        onSuccess: function(t){
            var data = t.responseText.evalJSON();
            if(data.success) {
                form.cexpeCodigoArchivo.value = data.ncorrActual;
            } else {
                Ext.MessageBox.show(
                {
                    title: "Error",
                    msg: data.mensaje,
                    buttons: Ext.MessageBox.OK,
                    icon: Ext.MessageBox.ERROR
                });
            }
        }
    });
}
